-- stack: in -- format: 8 (HyperCard 1) -- flags: 0x1000 (none) -- protect password hash: 0 -- maximum user level: 5 (scripting) -- window: Rect(x1=0, y1=0, x2=0, y2=0) -- screen: Rect(x1=0, y1=0, x2=0, y2=0) -- card dimensions: w=0 h=0 -- scroll: x=0 y=0 -- background count: 1 -- first background id: 12438 -- card count: 176 -- first card id: 10834 -- list block id: 2049 -- print block id: 3578 -- font table block id: 0 -- style table block id: 0 -- free block count: 0 -- free size: 0 bytes -- total size: 85344 bytes -- stack block size: 21504 bytes -- created by hypercard version: 0x01228000 -- compacted by hypercard version: 0x01258000 -- modified by hypercard version: 0x01258000 -- opened by hypercard version: 0x01258000 -- patterns[0]: 0x0000000000000000 -- patterns[1]: 0x8000000008000000 -- patterns[2]: 0x8800220088002200 -- patterns[3]: 0x8888222288882222 -- patterns[4]: 0x88AA22AA88AA22AA -- patterns[5]: 0xCCAA33AACCAA33AA -- patterns[6]: 0xEEAABBAAEEAABBAA -- patterns[7]: 0xEEBBBBEEEEBBBBEE -- patterns[8]: 0xFFBBFFEEFFBBFFEE -- patterns[9]: 0xFFBBFFFFFFBBFFFF -- patterns[10]: 0x8010022001084004 -- patterns[11]: 0xFFFFFFFFFFFFFFFF -- patterns[12]: 0x8822882288228822 -- patterns[13]: 0x1122448811224488 -- patterns[14]: 0xC4800C6843023026 -- patterns[15]: 0xB130031BD8C00C8D -- patterns[16]: 0xAA00AA00AA00AA00 -- patterns[17]: 0x8822552288225522 -- patterns[18]: 0x8855225588552255 -- patterns[19]: 0x77DD77DD77DD77DD -- patterns[20]: 0x8000000000000000 -- patterns[21]: 0xAA55AA55AA55AA55 -- patterns[22]: 0x038448300C020101 -- patterns[23]: 0x8244394482010101 -- patterns[24]: 0x8814224188412214 -- patterns[25]: 0x8080413E080814E3 -- patterns[26]: 0x22048C7422179810 -- patterns[27]: 0xBE808808EB088880 -- patterns[28]: 0x25C8328964244C92 -- patterns[29]: 0xA29C41BE2AC914EB -- patterns[30]: 0x40A00000040A0000 -- patterns[31]: 0x8040200002040800 -- patterns[32]: 0xAA00800088008000 -- patterns[33]: 0xFF80808080808080 -- patterns[34]: 0x081C22C180010204 -- patterns[35]: 0xFF808080FF080808 -- patterns[36]: 0xF87422478F172271 -- patterns[37]: 0xBF00BFBFB0B0B0B0 -- patterns[38]: 0xFF7FBE5DA2418000 -- patterns[39]: 0xFAF5FAF5A050A050 -- checksum: 0x0 ----- HyperTalk script ----- __________________________________________________________________ —— TABLE OF CONTENTS __________________________________________________________________ __________________________________________________________________ —— GLOSSARY TOOLS handleFieldClick goGlossaryEntry showGlossWord __________________________________________________________________ —— GLOSSARY CREATION TOOLS makeGlossary importGlossary exitStack goNext goPrev __________________________________________________________________ —— UTILITIES lineNo __________________________________________________________________ —— PROGRAMMING TOOLS (can be deleted before distribution) lockAllFields unlockAllFields --———————————————————————————————————————————————————————————————————— --———————————————————————————————————————————————————————————————————— openStack arrowKey returnKey enterKey doMenu __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ —— GLOSSARY TOOLS on handleFieldClick lock screen set cursor to none set locktext of target to false click at the clickLoc click at the clickLoc put the selection into myWord put the selectedChunk into myChunk set lockText of target to true put word 4 of myChunk into lastChar unlock screen if char (lastChar + 1) of target is "*" then showGlossWord myWord end handleFieldClick on goGlossaryEntry lock screen push card put line lineNo() of target into findWhat find findWhat in fld "subTitle" click at 1,342 unlock screen with visual dissolve end goGlossaryEntry on showGlossWord glossWord lock screen find whole glossWord in fld "Subtitle" click at 1,300 unlock screen with visual dissolve end showGlossWord __________________________________________________________________ —— GLOSSARY CREATION TOOLS on makeGlossary put empty into k repeat with i = 105 to 272 go cd i put the short id of this cd into startID put fld "Subtitle" into whatToFind find whole whatToFind -- find first occurrence on same card -- wait 75 repeat find whole whatToFind -- wait 15 if the number of this cd < 97 then put whatToFind & "," & id of this cd & "," & short name of this cd & return after k end if if the short id of this cd is startID then exit repeat end repeat -- put the short name of this cd end repeat go last put k into cd fld "GlossaryInfo" end makeGlossary on importGlossary put "Zowie:Glossary" into fName open file fName repeat -- with i = 1 to 5 read from file fName until return if it is empty then exit repeat put it into k put char 1 to offset(":",k)-1 of k into myWord put char offset(":",k)+1 to 10000 of k into myDef -- delete last char of myDef put word 1 to 1000 of myDef into myDef doMenu "New Card" put myWord into fld "subtitle" put myDef into fld "cardtext" put "Glossary" into fld 1 end repeat close file fName end importGlossary on goNext lock screen go next unlock screen with visual wipe left end goNext on goPrev lock screen go Prev unlock screen with visual wipe right end goPrev __________________________________________________________________ —— UTILITIES function lineNo if the style of the target is "scrolling" then return ((item 2 of the clickloc - item 2 of the rect of the target + the scroll of the target) DIV textheight of the target) +1 else return ((item 2 of the clickloc - item 2 of the rect of the target) DIV textheight of the target) +1 end if end lineNo __________________________________________________________________ —— PROGRAMMING TOOLS (can be deleted before distribution) on lockAllFields set lockscreen to true set lockmessages to true set lockrecent to true set cursor to watch repeat with i = 1 to the number of cards go card i repeat with x = 1 to the number of bg fields set the locktext of bg fld x to true end repeat repeat with y = 1 to the number of cd fields set the locktext of cd fld y to true end repeat end repeat end lockAllFields on unlockAllFields set lockscreen to true set lockmessages to true set lockrecent to true set cursor to watch repeat with i = 1 to the number of cards go card i repeat with x = 1 to the number of bg fields set the locktext of bg fld x to false end repeat repeat with y = 1 to the number of cd fields set the locktext of cd fld y to false end repeat end repeat end unlockAllFields --———————————————————————————————————————————————————————————————————— --———————————————————————————————————————————————————————————————————— on openStack pass openStack -- Kristi lock screen if the version < 1.2 then answer "This stack requires HyperCard version 1.2." with "Continue" or "Home" if it is "Home" then go home end if set cursor to none put item 2 of the screenRect into screenTop if top of card window < screenTop + 20 then hide menuBar hide tool window hide pattern window hide msg unlock screen with visual dissolve end openStack on arrowKey whatKey if whatKey = "Left" then click at loc of bg btn "Prev" -- 442,328 if whatKey = "Right" then click at loc of bg btn "Next" -- 471,328 end arrowKey on returnKey end returnKey -- intercept enter key on enterKey end enterKey on exitStack Answer "Exit the LaserWriter Fundamentals Stack?" with "Cancel" or "Home" or "Finder" if it is "cancel" then exit exitStack if it is "home" then doMenu home if it is "Finder" then doMenu "quit hypercard" end exitStack -- disable certain menu options which are not appropriate on doMenu whatMenu if whatMenu is in "Home,Quit HyperCard,Help,New Stack...,Open Stack..." then lock screen repeat pop card into dest if "Glossary" is not in dest then set lockmessages to true go dest exit repeat end if end repeat set lockmessages to false unlock screen with visual dissolve --•• Added by Medior, Inc. 8/8/90 global RPStackName if RPStackName is not empty then set cursor to watch put RPStackName into shortname repeat until offset(":",shortname) = 0 delete char 1 to offset(":",shortname) of shortname end repeat delete last char of shortname answer "This will return to "&shortname&"." with "Cancel" or "OK" if it is "Cancel" then exit domenu set cursor to watch lock screen go RPStackName unlock screen with dissolve fast exit domenu else pass doMenu else if whatMenu is in "Back,Recent,First,Prev,Next,Last" or whatMenu is in "Print Report...,Message,New Card,Delete Card,Cut Card" then exit to HyperCard end if pass doMenu end doMenu